/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sn.service;

import java.util.List;
import sn.metier.Notification;
import sn.metier.Partage;

/**
 *
 * @author Harry
 */
public interface NotificationService {

    /**
     * Lister l'ensemble des notifications non lues d'une personne
     * @param idpers la personne choisie
     * @return la liste des notificatons de la personne
     */
    public List<Notification> listerNotificationParDestinataire (Long idpers);

    /**
     * Faire une demande d'amitée
     * @param idauteur identifiant de la personne ayant trouvé un ami
     * @param idami identifiant de l'ami trouvé
     * @param commentaire un commantaire lié à la demande d'amitiée
     * @return la notification de demande d'amitiée
     */
    public Notification demanderAmitie (Long idauteur, Long idami, String commentaire);

    /**
     * Identifier une personne sur un partage, et l'ajoute automatiquement dans les destinataire du partage
     * @param idauteur identifiant de la personne auteur de l'identification
     * @param identifier identifiant de la personne identifiée
     * @param lienPartage lien vers le fichier de partage où à lieu l'identification
     * @return la notiication de l'identification
     */
    public Notification identifierPersonne (Long idauteur, Long identifier, Long lienPartage);

    /**
     * Permet d'indiquer une notification d'identification comme lu
     * @param idUtilisateur identifiant de la personne ayant lu la note
     * @param idNote identifiant de la notification
     */
    public void luIdentification (Long idUtilisateur, Long idNote);
    
}
